home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
pcboard
/
pbs_v15.zip
/
PBSTRING.HIS
< prev
next >
Wrap
Text File
|
1996-01-27
|
19KB
|
413 lines
PBstring History/Revision Notes
[v1.0 ßeta 1]
08/20/95 - Initial release to ßeta testers
[v1.0 ßeta 2]
08/24/95 - Included coding to convert non-255 char. length string files to
255 char. length files.
- Increased capability of program to handle lines > 255 characters.
Maximum string (as in strings to remove to STR file) is still
255 characters.
- Fixed misspelling in PBS-FILE.EXC from ROPOLVL.C to RIPOVL.C
- Included more PBS-CHAR.EXC and PBS-STRG.EXC entries to make
sure that certain items do not get processed.
- Added \033 to the list of "automatic" exclusions.
[v1.0 ßeta 3]
08/25/95 - Added coding in that will allow you to use the string file if it
exists in the current directory, or back it up and copy (or
create new) from the GFILES directory if you choose not to use
it.
- Added coding in so it'll ask you if you want PBstring to move STR
file back into your GFILES directory.
- Fixed it so the following type lines, with comments, WOULD be
processed:
printf("This will be processed!\r"); // processed correctly
printf("This will be processed!\r"); /* processed correctly */
whereas these kind of lines will not:
// printf("This will not be processed!\r\n");
/* printf("This will not be processed!\r\n"); */
[v1.0 public release]
08/26/95 - Added opening Power and Responsibilities for first time run.
- Added code to back-up STR file after copying it from the GFILES
directory.
[v1.1 ßeta 1]
08/29/95 - Changed the string handling code a bit. Now the program runs
approximately 50.7% faster than version 1.0. It is now 61.2%
faster if the /Q (Quiet mode) switch is used.
[v1.1 ßeta 2]
08/30/95 - Added the following functions to the PBS-FUNC.EXC file:
strtok()
sscanf()
ini_read_boolean() -- ACHAT
ini_read_string() -- ACHAT
ini_read_number() -- ACHAT
auto_mail() -- NEWMAIL (?)
*NOTE* the last four functions _may not_ need to be exempted --
I included them here for safety's sake.
- Added the following character strings to "automatic" exemptions:
_on_[] -- LISTPLUS
_off_[] -- LISTPLUS
- Added /QS switch to turn off sounds.
- Fixed a stupid variable error in the code that effectively
disabled the No option if the /Y switch was used.
- Added code to handle multiline printf() type statements. These
are not supposed to be processed. Lines like are now properly
handled:
printf("TESTTESTTESTTEST"
"SECONDSECONDSECOND"
"THIRDTHIRDTHIRD");
See documentation for any caveats! (Section 3.4)
- Found an unreported bug. Fixed those preprocessor directives and
multiline variable declarations that could have had problems
handling lines with the \" (C's escape code quote character) in
them.
- Streamlined the unresolved preprocessor, comment, and variable
declaration EOF coding (unresolved) so that your machine will
gracefully exit instead of locking up.
- Fixed multiline preprocessor directive checking so it'll only
look for the absence of a terminating \ at the end of a line.
This means that line like:
"TEST\"OK?\""
will no longer cause it to prematurely exit from the checking
code.
- Added /1 switch. This will allow use (without conversion) and
creation of 100 character long string files. Included mainly
for compatibility's sake.
- Added /CACHE: switch. This allows the user to change the string
file cache from the the default 4096 bytes to what they specify.
Checking is done to make certain the the amount specified does
NOT exceed the amount of memory available. May decrease
processing times when large string files are used.
- New maximum string file number that can be used is 14. So 0 to
14 are legitimate string file numbers. (Using a 4 bit number.)
- Added ini_get() to the list of PBS-FUNC.EXC -- primarily for
the WFC.C file from FMD.
- Further refined multiline printf() type processing code.
- Display string file cache length during processing.
- Made it so the log would print C escape codes (\n, \r, etc.)
instead of the confusion converted codes.
- Make the F key more responsive during processing. Any other key
will still abort only between files.
[v1.1 ßeta 3]
09/01/92 - Changed the text in the PBSTRING.REG file that printed PBFILES
instead of PBSTRING
- Added /P switch to allow creation of registration form at any
time.
- Added /B!{fn} -- build {fn} as inclusion file, do not run program
- Fixed the character counting code. Before, a line like:
"This is a %s test %-4s"
would be 18 characters. (The % sign caused the code to subtract
2 from the overall length.) With the new coding, the line is
correctly counted as having 16 characters. The %-4s portion (and
all other legitimate C print formatting characters) is fixed.
[v1.1 public release] - 09/05/95 (mistakenly called 11ß04 internally)
[v1.2 ßeta 1 - PBstring]
[v1.0 ßeta 1 - PBconfig]
[v1.0 ßeta 1 - PBreplace]
09/21/95 - Continued to change the coding internally from character array
based processing to pointer processing. These changes will
make PBstring all that much faster.
- Added text in PBSTRING.DOC about the number of FILES a system
needs for PBstring to run.
- Added my mailing address so ya'll would know where to send
registrations.
- /SE switch to allow you to directly enter the string file locator
editor.
- Made it so that when you updated to a new INI file, your old
information is not erased.
- Increased the capacity of the program to keep track of total
values from 65,535 to 4,294,967,295.
- PBstring is now being compiled using 80386 instruction codes.
- For ease of use, and for better programming, I've made the entire
configuration section a stand-alone EXE. Fully "callable" from
within PBstring and PBreplace, or independently as PBconfig.
- /W{disk} to specify a work disk (RAM drive) for faster processing.
This has the results in a 13% speed increase in the extraction
processing and a 27% speed increase in replacement.
- PBreplace (PBREPL.EXE) will take the strings from the STR files
and place them back into the C files -- replacing the
get_string[x]() statements. This has 2 modes of operation --
each with multiple options. This is a stand-alone program.
[v1.2 ßeta 2 - PBstring]
[v1.0 ßeta 2 - PBconfig]
[v1.0 ßeta 2 - PBreplace]
09/23/95 - Fixed a small problem in PBreplace that'd cause the program to
freak out if the get_string[x]() statement had a non-numeral for
either number and the variable name as rather long.
- Fixed it so that PBreplace would stop simply returning 0 for the
other get_string[x]()'s that used shorter variable names. Log
entries will indicate these lines.
- Fixed the /CACHE: coding. Used to generate a "Null pointer
assignment" error. Now the maximum setting is around 25k, maybe
a little more or a little less.
- Improved maximum cache setting protection coding. I had done this
in 1.2ß1, but, because of the disabling of the /CACHE: switch
did not document it.
- Added the /CACHE: setting to the PBreplace program.
- Added coding would only leave *.ORG and *.RPL files for those C
files that were actually modified. Otherwise, the original C
file is kept.
- Added progress indicator bars for files and lines processed in
PBreplace.
- Added a little thing to PBstring and PBreplace that displays the
work drive and running total of how much room is left on the
work disk during processing. Will automatically stop processing
once work disk drops to less than 25k of free space.
- Added /Y switch to PBreplace so you can selectively choose which
strings you wish to replace.
- Added screen updating and sound options to configuration editor.
[v1.2 ßeta 3 - PBstring]
[v1.0 ßeta 3 - PBreplace]
09/24/95 - Made the ORG and RPL backups go to their own (incremental)
directories instead of continually cluttering the source dir.
SEE PBSTRING.DOC FILE FOR MORE INFORMATION, SECTION 1.6.
- Streamlined the code a wee bit (found some redundant variables,
set up loop breaking conditions for increased speed, etc.).
- Improved some log report entries.
- Fixed it so the program would NOT crap out or freak if the INI file
had the incorrect number of lines in it (lines preceded with a
; do NOT count and are not read as part of the configuration).
If this happens, however, the PBSTRING.INI is erased, and all
new values must be re-entered (how's it supposed to know which
line got deleted?).
- Fixed no sound option in configuration, it was backwards.
- Changed the string file name specifier editor a bit. You may now
enter in just the string file's name (as in BBS, for BBS.STR).
Used this way the .STR is automatically appended as is the path
information to the string directory that you specified on the
main configuration screen. If you enter in a full path to a
file (such as C:\CPP\TEST.STR) then this will be used. In this
manner, NO .STR or path information is appended.
- Made it so the file's actual size (not a set 25,000 bytes) was
compared against the room left in the work drive (if /W was
used). If the file is bigger than the room left, the program
aborts.
- (PBstring) When the /W (work drive) switch is used, the STR file
that is going to be processed is also placed in the work drive.
If this is set into a RAM disk, another 35% speed increase can
be had.
- Cleaned up the coding dealing with moving around and pre-existing
string files.
- (PBreplace) Fixed it so that when strings were replaced, the ASCII
equivalent C escape codes are translated back into the escape
codes themselves.
- Fixed a bug that wouldn't allow for proper operation of the
100-byte to 255-byte string file conversion coding. *NOTE* this
bug was introduced when I introduced the advanced caching. As
a result, caching is OFF during conversion processing. The
program will run slower during this phase. Once you're using
255-byte files, the speed of the program is increase.
- Removed the /CACHE: switch once and for all. The program now
automatically assigns as many bytes to the cache as it can.
Most of the time, you'll have one half of the amount of HEAP
free, providing there is at least 19k of total HEAP free -- if
you have less, you'll get a cache size of 4,096 bytes. If you
have less than 6k of HEAP, the cache is disabled. I chose this
way because you get about a 20% increase in speed if you use 1/2
of the HEAP free (generally 10-14k).
- Added a little thing where if the first character on a line in
PBSTRING.INC, PBS-FILE.EXC, PBS-FUNC.EXC, PBS-STRG.EXC, or
PBS-CHAR.EXC is a √ (ASCII 251), then that line is ignored. To
make a √, press and hold your ALT key and type 251 on your
*NUMBER PAD*. It will not work if you use your topline numbers.
[v1.2 PBstring public release] \
[v1.0 PBreplace public release] - 09/29/95
[v1.0 PBconfig public release] /
[v1.3 ßeta 1 - PBstring]
[v1.1 ßeta 1 - PBreplace]
10/30/95 - Fixed a really small bug that would cause unresolved multiline
quote checking for strings that have a double \ before a ", like
"\\" or "X:\\" The program wasn't recognizing the second " as
a closing quote due to the preceding \. This now correctly
assesses the \\ before the " and closes the string.
- If no changes are made to any of the C files, the STR file in the
working directory is now automatically deleted since no changes
were made to that file, either. This stops the program from
unnecessarily asking you if you want to use a STR file that
exists in the current directory.
- PBstring and PBreplace now remove any EMPTY storage directories.
- [PBreplace] Added /* switch. Allows PBreplace to replace ALL
get_string[x]()'s, even those within comment blocks.
- Fixed the "overflow" and "skip" problems that the progress
indicator was having.
[v1.3 ßeta 2 - PBstring]
[v1.1 ßeta 2 - PBreplace]
[v1.1 ßeta 1 - PBconfig]
11/07/95 - Much code streamlining done in all three programs.
- Fixed an extremely rare bug that would cause the program to crash
if logging was on and strings were > 160 chracters in length.
- [PBstring] Fixed a bug that was in there that did not properly
handle a /* that appeared after an opening "
[v1.3 ßetas 3, 4 and 5 - PBstring]
[v1.1 ßetas 3, 4 and 5 - PBreplace]
[v1.1 ßetas 3, 4 and 5 - PBconfig]
11/09/95 - Found some bugginess related with my improper use of sprintf() and
fprintf() functions. All of these have been repaired.
- Added /DEBUG to all programs. Although the programs will still
detect the presence of the DEBUG.XXX file, the /DEBUG command
line switch has been installed to take its place. I think
this'll be much easier than creating and deleting DEBUG.XXX
files.
11/28/95 - [PBstring and PBreplace ß6] - Removed all code that crippled the
programs. Using unregistered delays instead.
12/02/95 - Added an error screen that NO ONE will miss.
[v1.3 (string), v1.1 (replace & config) FINAL releases 12/02/95]
[PBstring v1.4ß1]
12/04/95 - Changed the program so that the DTE file will not be updated
unless changes are made to the STR file.
[PBstring v1.4ß2]
12/06/95 - Added coding to support the C escape codes that are followed by
ASCII codes. These are the codes like \003 or \007. The
codes are replaced with their equivalent literal ASCII codes.
(In the case of \003, it'll be a heart.) See the docs for
caveats!
[PBstring v1.4ß3/ß4]
01/06/96 - Fixed a bug that would cause it to give a multiline comment EOF
error. These were caused by a */ that appeared on a line AFTER
a ; and did not have a "
- Fixed a cosmetic thing where the Y/n switch would show string over
80 characters "wrapped around" the screen. Now it'll display up
to 78 characters, with a »> appended to the end if it is longer.
- Removed 2nd 60-second delay.
- Added SETUP.EXE -- to be run before any other program is run for
the first time.
- Changed input coding in PBreplace and PBconfig to allow for
editable fields.
[PBstring v1.4ß5]
01/14/96 - Removed random keypress from PBstring and PBreplace.
- Implemented a SHARE specific byte copier (to alleviate file
sharing errors). If SHARE is not loaded, a DOS copy is used.
This new routine will ignore native Windows or OS/2 SHARE-type
emulations since that has not caused any reported problems.
[PBstring v1.40 - FINAL]
01/21/96 - Tweaked the data entry process for PBconfig's STR file location
editor.
[PBstring v1.5ß1]
/ / - (PBstring/PBreplace) Fixed a bug that wouldn't properly process
these few types of comment lines:
//******
// **** "testtest" ***
/* This is a "test" */
/* I put a " down here */
- (PBstring) Ensured that the the copying of the STR file back to
string directory was successful. Notifies user if it was not
and does not delete the new STR file in the source directory.
(If successful, the STR file in the source dir is deleted.)
- (PBstring) [Actually this was done for v1.4, but I forgot to
document it here.] Added a few more strings to the default
exclusions in PBS-STRG.EXC. Added BBS.C to PBS-FILE.EXC. (BBS.C
*can* have strings removed, but only in certain functions --
this should be done by hand to ensure that they work reliably.)
Added get_string and get_stringx to the PBS-CHAR.EXC file.
- (PBreplace) Removed second 60 second unregistered delay. I meant
to do this in v1.4, but somehow it slipped past me.
- (PBstring) Fixed it so that PBstring will no longer take out
strings LONGER than the maximum allowed by the STR file being
written to. Keeps strings from being chopped off.
- (PBstring/PBreplace) Fixed a problem that was not letting these
programs properly handle 100 character length string files.